"""
finally 块由于是否发生异常都会执行，通常我们放释放资源的代码。其实，我们可以通过 with 上下文管理，更方便地实现释放资源的操作。并不是用来取代finally，仅仅是打开资源最终需要释放的场景用with。
with 上下文管理的语法结构如下：
    with  context_expr [ as  var]：
        语句块

with 上下文管理可以自动管理资源，在 with 代码块执行完毕后自动还原进入该代码之前的现场或上下文。不论何种原因跳出 with块，不论是否有异常，总能保证资源正常释放。极大地简化了工作，在文件操作、网络通信相关的场合非常常用。
"""
with open("d:/bb.txt") as f:
    for line in f:
        print(line)
